/*
 * Autores: Bruna de Barros e Bruno Costa
 * Data: 24/11/2012
 *
 * Uso do Servo Motor
 * Controle do angulo de giro através da porta serial
 * Números devem ser fornecidos através da porta serial no seguinte formato:
 * #<numero>#
 *
 * Exemplo:
 * Posição inicial = #90#
 */

#include <Servo.h>

Servo servo;

void setup() {
  Serial.begin(9600);
  
  servo.attach(9); 
  servo.write(90);
}

void loop() {
  char c;
  int valor = 0;
  boolean fimNumero = false;
  
  // Tem número pra ler?
  if (Serial.available() > 0) {    
    // Lendo '#'
    c = Serial.read();
    if (c == '#') {
      while (!fimNumero) {
        // Lendo o número
        if (Serial.available() > 0) {
          c = Serial.read();
          if (c >= '0' && c <= '9') {
            valor *= 10;
            valor += c - '0';
          }
          else {
            fimNumero = true;
          }
        }
      }
    }
    
    // Escrevendo o angulo no servo
    servo.write(valor);
  }
}
